﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;

//TODO: Criar constantes de Erro
namespace Sinacor.Service.Infra.AuthorizationService.Service.DataContract.Response
{
    /// <summary>
    /// Entidade de negocio BehaviorPolicy
    /// </summary>
    [DataContract]
    public class BehaviorPolicyResponse
    {
        #region Campos

        /// <summary>
        /// Campo _companyId
        /// </summary>
        private System.Int32? _companyId;
        
        /// <summary>
        /// Campo _roleId
        /// </summary>
        private System.String _roleId;

        ///// <summary>
        ///// Campo _associatedPolicy
        ///// </summary>
        private DataContract.Response.PolicyResponse _associatedPolicy;

        /// <summary>
        /// Campo _isEditable
        /// </summary>
        private System.Boolean? _isEditable;

        /// <summary>
        /// Campo _isVisible
        /// </summary>
        private System.Boolean? _isVisible;

        #endregion

        #region Propriedades

        /// <summary>
        /// Propriedade RoleId
        /// </summary>
        [DataMember]
        public System.Int32? CompanyId
        {
            get { return this._companyId; }
            set { this._companyId = value; }
        }

        /// <summary>
        /// Propriedade RoleId
        /// </summary>
        [DataMember]
        public System.String RoleId
        {
            get { return this._roleId; }
            set { this._roleId = value; }
        }

        [DataMember]
        public DataContract.Response.PolicyResponse AssociatedPolicy
        {
            get { return _associatedPolicy; }
            set { _associatedPolicy = value; }
        }

        /// <summary>
        /// Propriedade IsEditable
        /// </summary>
        [DataMember]
        public System.Boolean? IsEditable
        {
            get { return this._isEditable; }
            set { this._isEditable = value; }
        }

        /// <summary>
        /// Propriedade IsVisible
        /// </summary>
        [DataMember]
        public System.Boolean? IsVisible
        {
            get { return this._isVisible; }
            set { this._isVisible = value; }
        }

        #endregion
    }
}

